home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / appletalk / uab.shar / mpxddp.h < prev    next >
C/C++ Source or Header  |  1990-07-12  |  2KB  |  88 lines

  1. /*
  2.  * $Author: cck $ $Date: 88/09/14 10:20:05 $
  3.  * $Header: /src/local/mac/cap/etalk/RCS/mpxddp.h,v 1.9 88/09/14 10:20:05 cck Rel $
  4.  * $Revision: 1.9 $
  5. */
  6.  
  7. /*
  8.  * demultipexor/multiplexor interface
  9.  *
  10.  *  used to send packets to/from processes from a central process that
  11.  * handles incoming ddp packets from an interface that can only be
  12.  * attached by a single process 
  13.  *
  14.  * Copyright (c) 1988 by The Trustees of Columbia University 
  15.  *  in the City of New York.
  16.  *
  17.  * Permission is granted to any individual or institution to use,
  18.  * copy, or redistribute this software so long as it is not sold for
  19.  * profit, provided that this notice and the original copyright
  20.  * notices are retained.  Columbia University nor the author make no
  21.  * representations about the suitability of this software for any
  22.  * purpose.  It is provided "as is" without express or implied
  23.  * warranty.
  24.  *
  25.  *
  26.  * Edit History:
  27.  *
  28.  *  August 1988  CCKim Created
  29.  *
  30. */
  31.  
  32. #ifndef _MPX_DDP_INCLUDED
  33. #define _MPX_DDP_INCLUDED "yes"
  34. /* 
  35.  * demuliplexing module interface point
  36.  *
  37. */
  38.  
  39. struct mpxddp_module {
  40.   char *mpx_name;        /* name of module (usually transport type) */
  41.   char *mpx_key;        /* key for specification purposes  */
  42.   int (*mpx_init)();        /* init routine */
  43.   int (*mpx_grab)();        /* used to grab ddp sockets */
  44.   int (*mpx_send_ddp)();    /* send ddp routine */
  45.   int (*mpx_havenode)();    /* mark node known */
  46.   int (*mpx_havenet)();        /* network & bridge (if nec) known */
  47.   int (*mpx_havezone)();    /* zone known */
  48. };
  49.  
  50. /*
  51.  * mpx_init
  52.  *
  53.  * initialization
  54.  *
  55.  * int (*mpx_init)() - returns handle (hdl) for later use
  56.  *
  57. */
  58.  
  59. /*
  60.  * mpx_grab
  61.  *
  62.  *  mpx_grab should "grab" the specified ddp socket (in its own way)
  63.  *  and forward packets received upon that ddp socket to (s)ddp_router
  64.  *
  65.  * int (*mpx_grab)(hdl, skt);
  66. */
  67.  
  68. /*
  69.  * mpx_send_ddp
  70.  *
  71.  * used by the mpx process to send ddp packets to clients
  72.  *
  73.  * (*mpx_send_ddp)(hdl, DDP *ddp, caddr_t data, int data_len)
  74.  */
  75.  
  76. /*
  77.  *  used by multiplexing process to send back info on the current ddp world
  78.  *
  79.  * Ordering will always be: havenode, havenet, havezone
  80.  * 
  81.  * (*mpx_havenode)(hdl,byte node)
  82.  * (*mpx_havenet)(hdl,word net, byte bridgenode)
  83.  * (*mpx_havezone)(hdl,pstr zone)
  84.  *
  85. */
  86.  
  87. #endif /* INCLUDE THIS FILE */
  88.